1. Field of The Invention
Applicant""s invention relates to a mouse and keyboard recording and/or reproducing apparatus that is capable of recording mouse actions and keyboard keystrokes. Such mouse actions can include mouse movements, mouse drags, and mouse button clicks. The apparatus is capable of playing back recorded mouse actions and keyboard keystrokes in the proper sequence. Again, such mouse actions can include mouse movements, mouse drags, and mouse button clicks. In addition, this invention relates to computer peripheral devices that store mouse and keyboard actions for future execution.
2. Background Information
The mouse invented by Douglas Engelbart of Stanford Research Center in 1963 is one of the great breakthroughs in computer ergonomics because it frees the user to a large extent from using the keyboard. In particular, the mouse is important for graphical user interfaces because you can simply point to options and objects and click a mouse button. Unfortunately, certain applications have become so complex that extensive training must be taken before becoming proficient in these programs. Many applications are point-and-click programs that require careful positioning of the pointer and some amount of skill. Computer technology has advanced so rapidly in recent years that people are often overwhelmed when using the computer and more sophisticated software programs. For novice users, this can become a very frustrating task. Although the expert user can easily utilize the powerful features of a windows-based application, the novice can just as easily get himself/herself into difficulties very quickly. Training is a very costly as well as tedious and time consuming process and unfortunately for the novice, different versions of the same applications must be learned which adds to the confusion. Errors in windows-based applications can be very costly especially in the business office environment. Because of the likelihood of serious errors as well as intimidation, many computer users never fully master the powerful capabilities of the personal computer or the mainframe computer. The MCR simplifies complex application maneuvers and makes computers more like operating a single dedicated machine with push buttons.
There is a need for devices in which complex computer operations can be simplified with a push of a button and in which the general public has experience operating. Most people have had exposure to the recording and playing of video tapes via a video cassette recorder (VCR) device. The MCR can be thought of as being similar to a VCR except that instead of video recordings applicants are storing mouse and keyboard actions and then replaying them. The control buttons are analogous to the play, record, pause, stop and rewind features of a VCR.
Many application programs have a facility for recording keystrokes made by a user in interacting with the particular application program. These keystrokes, stored in a macro file, may be later played back. This use of playback using a macro can allow a user to simply re-execute a complicated set of commands. Additionally, the user can run an often repeated task by running a single macro. These macros are software application dependent in that the software application must be running at least in background in order to be launched and be in standby mode.
Microsoft had a recorder tool in the early Microsoft Windows 3.1 version which allows the user to record mouse movements relative to the screen or to the application. This particular software applied only to Microsoft Windows compatible programs and therefore was software dependent. To begin the recording, the user had to run a macro window application and learn how to define the macro, start and stop the macro without interfering with the actual recording itself. For example, to stop the macro, the user could press a key combination but then the user would have to make sure that the recording itself did not contain that particular key combination. The recorder tool is not offered in Microsoft Windows 95. Since the Microsoft recorder is a software application in itself on the host computer, it is both software and hardware dependent. In addition, setting up the macros requires training.
Certain terms shall be used throughout this disclosure and are given the following definitions:
COMPUTER WORKSTATION is typically a multi-user computer system in which many users can run their own separate applications on the same workstation.
KEYBOARD COMMAND is a sequence of specific keystrokes that a computer user must enter at the keyboard in order to initiate an operation in, or elicit a specific response from the computer system.
HARDWARE INDEPENDENCE. When an ancillary machine is capable of performing its required tasks, regardless of the characteristics of the equipment to which it is connected, it is known as possessing HARDWARE INDEPENDENCE.
HOST COMPUTER SYSTEM. A computer system in which the MCR apparatus would be connected. The MCR operates as a peripheral device to a host computer system.
MCR. Mouse/keyboard Capture Recorder apparatus which is the name and subject of this invention.
MASS STORAGE. Refers to various techniques and devices for storing large amounts of data. Mass storage devices include floppy disks, hard disk drive, optical disks, zip type cartridges and tapes.
MEMORY. Internal storage areas in the computer. Identifies data storage that comes in the form of chips.
MACRO is defined as a keystroke function which represents or emulates a keyboard keystroke set or data set and is used to replace certain keyboard keystroke or data sets.
MOUSE. A device that controls the movement of the cursor or pointer on a display screen. A mouse contains at least one button and sometimes as many as three, which have different functions depending on what program is running. Examples of different types of mouse are serial mouse, PS/2 compatible mouse, mousepad, bus mouse, button mouse on laptops, and trackball mouse.
MEMORY-RESIDENT PROGRAMS. At times when a computer does not have enough memory to hold all the programs a user uses, the operating system may free some memory by copying data or programs from main memory to a disk. However, certain programs can be marked as being memory resident, which means that the operating system is not permitted to swap them out to a storage device; they will always remain in memory when the computer is on. Another name for memory-resident programs is TERMINATE AND STAY RESIDENT (TSR) programs.
MICROPROCESSOR. A silicon chip that contains a CPU (Central Processing Unit).
MACHINE DEPENDENT. Refers to a software application that runs only on a particular model of computer. Programs that run on a variety of computers are called machine independent.
NON-VOLATILE MEMORY is memory means which relates its internally stored data when all external electrical power is removed. The internally stored data becomes available for normal use when the external electrical power is restored.
PLAYING. In this invention""s context, playing is the mode of the MCR apparatus in which electrical signals representing stored mouse actions and keyboard actions are transmitted from the MCR to a host computer system analogous to playing a tape.
RECORDING. In this invention""s context, recording is the mode of the MCR apparatus in which electrical signals from a mouse and/or keyboard are being stored by the MCR apparatus analogous to a tape recording.
PC. PC""s are families of computers that were developed by IBM in the early 1980""s. Starting from the early XT computers to the modern day Pentium computers. In our references to the PC (Personal Computer), we are also referring to all types of personal computers that make use of keyboard and/or mouse devices including Apple computers and all their clones.
PORT. An interface on a computer to which a user can connect devices such as a mouse, a keyboard, disk drives, modems, and the like.
PORTABLE. When used to describe hardware, portable means small and lightweight.
PS/2. IBM mouse and keyboard interface standard.
SIMILARITY AND FAMILY. Computers are generally described as finite-state automata or, simply xe2x80x9cmachinesxe2x80x9d. Two or more separate machines are defined as being SIMILAR if they employ the same mouse/keyboard protocol, and the same mouse/keyboard codes. However, if these machines employ the same protocol but have different mouse/keyboard codes, they are said to be dissimilar but within the same FAMILY (of machines).
SOFTWARE INDEPENDENCE is the ability of an ancillary machine to perform a desired task, regardless of the operating system software or applications software being used in the host computer, and without the need to install any additional software in the computer system.
TRANSPARENCY. An ancillary machine or device is TRANSPARENT to the operation of a computer system if it can be installed and used on the computer system without requiring any additional installation or modification of computer software, and if the computer can be operated normally in all modes of operation should the user choose to ignore the presence of the ancillary device.
TSR. Terminate and Stay Resident programs are programs that are running or resident in background to be called immediately by the user.
UART. Universal Asynchronous Receiver-Transmitter is a computer component that handles asynchronous serial communication.
USB. Universal Serial Bus standard that allows up to 127 devices to be connected in one serial line.
UNIX. A multitasking operating system developed at Bell Labs in the early 1970""s.
The present invention relates to the recording and playback of keystrokes as well as mouse actions. Such mouse actions can include mouse movements, mouse drags, and mouse button clicks. Previous software programs have used preprinted keyboard keycaps or keyboard overlays (templates) onto the user""s computer keyboard. In this case, the software program recognizes the specialized keystrokes and launches its application. Unfortunately, these applications are highly computer system dependent as well as software application dependent. The software must be written for specific computer operating systems such as Windows 95, Macintosh, and different versions of Unix operating systems.
Some Unix based systems have history log files that store UNIX type line commands in a reserved file to review in case of computer failure. Again these techniques are dependent on the hardware and software installed in these systems.
Previous methods for recording and replaying keystroke commands have been instigated on the host computer system via TSR programs or within a specific software application. Although storing keystrokes in macro files for playback is a useful practice, it is inadequate in many respects. For example, current schemes for storing keystrokes in macro files are application dependent. They are implemented by a particular application which has its own interface tools. Furthermore, such schemes operate syntactically, requiring a user to understand the syntax of a particular application in order to create a macro file which will operate correctly on that application.
This invention does not require syntactical understanding of any software application in that it is not dependent on the software itself rather it is merely recording the actions of the user at the basic level of entry via keyboard, mouse, trackball and the like.
The MCR paradigm is different than that of macro commands. In the macro paradigm, the user is utilizing the software on the host computer and the user must have knowledge of the application program. But in the MCR paradigm, the MCR acts like a virtual mouse and keyboard and will mimic exactly the user""s keyboard and mouse actions. This is accomplished through the basic electrical signals transmitted by these devices. For example, in a word processor application, a user may have to learn the operating system of the host computer to logon and enter the correct directory to open a document file. The user needs to know the application program to open the file and save the data. In the MCR environment, one can record all the keystrokes and mouse actions needed to take the user to the data entry point of any application.
In addition, macros are available on many software applications, but are specific to that application and can not be run outside of that application. They are somewhat difficult to use in that one has to invoke the macro software, name the macro, define and remember hot keys (optional), and then run it. Many of these macros do not record mouse actions. Furthermore, many macro recorders are meant to be hot keys. Macros, in these cases, play too fast thus causing errant behavior when certain applications take too long to execute. The MCR seeks to alleviate the difficulties associated with macro use by providing system and software independence with ease of execution.
Detached keypads are available to supplement the standard keyboard and permits easy data entry but they are not recorder/player-like apparatus. Programmable macro keypads that can be attached to existing keyboards are available but can not record mouse movements or mouse actions. These keypads are limited in memory capability to record keystrokes but mouse recordings would require sufficiently more memory than keystrokes. The MCR provides the necessary recording capabilities.
In addition to its hardware and software independence and ease of execution, the MCR has great utility in that it may be also applied as a user pre-programmed replacement for a conventional mouse/keyboard application where only a predetermined, fixed set of commands are to be repeated on a daily basis. For example, in repetitive data acquisition operations, in machine tool applications, or in robotic control applications, the user may have access only to the MCR controls to prevent naive users from altering the internal program configuration or getting lost in a complex application.
Another advantage of the MCR is that a knowledgeable user in a particular application can setup the application so that a novice user will be able to get into a data entry mode, enter his/her data, save his/her work, and then exit the application with little knowledge of even a complex application.
The MCR can be used as a monitoring device in a monitoring mode to capture a computer user""s entries to a computer system. The entries can be stored in a mass storage device for future retrieval of the user""s activities. The mass storage media can be removable. This can be useful for security applications.
The MCR can be used for handicap people in which positioning of the mouse and clicking on an icon needs to be completed before specialized computer programs for handicap devices are operational. So effectively, the person could begin the programs with the press of a button.
In manufacturing processes, the MCR can be used to automate repetitive actions on a computer system such as bootup, initialization, login entries, initial input parameters, and the like before a manufacturing device can be functional.
The MCR can be used for training purposes and demonstration of a company""s product thus salespersons do not necessarily need to know how to run a complex computer application. It can also be used for trade show demonstrations in which a salesperson or user can be able to push a button and initiate a demonstration and even stop the demonstration for explanations before continuing.
In production applications, the MCR can be isolated from the host computer system unit such that a user will not have access to the mouse and keyboard and therefore cannot alter computer programs or view proprietary information on the host computer thereby guarantying security. In other words, the user would not know how or what the interface is between the computer and the production machine thereby guarding proprietary processes. The MCR can be used in clandestine mode which facilitates security as well by staying hidden from the user. In such a mode, after a user completes his/her daily tasks, the MCR can be used to retrace the actions of the user to determine if the user is performing unauthorized transactions.
It is an object of the present invention to provide a novel mouse/keyboard capture device for recording and playing user actions.
It is a further object of the present invention to provide a novel mouse/keyboard capture device for recording and playing user actions which is software independent.
Another object of the present invention is to provide a novel mouse/keyboard capture device for recording and playing user actions which is capable of playing stored mouse and keyboard actions.
Yet another object of the present invention is to provide a novel mouse/keyboard capture device for recording and playing user actions which is independent of the user""s level of computer skill or knowledge.
It is still an object of the present invention to provide a novel mouse/keyboard capture device for recording and playing user actions which simplifies complex computer application maneuvers.
Another object of the present invention is to provide a novel mouse/keyboard capture device for recording and playing user actions which is hardware independent.
Still another object of the present invention is to provide a novel mouse/keyboard capture device for recording and playing user actions which mimics user actions.
Yet another object of the present invention is to provide a novel mouse/keyboard capture device for recording and playing user actions which can operate outside a given application.
It is still an object of the present invention to provide a method for recording and playing user actions.
It is another object of the present invention to provide a method for recording and playing user actions which is software independent.
It is still an object of the present invention to provide a method for recording and playing user actions which is capable of playing stored mouse and keyboard actions.
Yet another object of the present invention is to provide a method for recording and playing user actions which is independent of the user""s level of computer skills and knowledge.
Another object of the present invention is to provide a method for recording and playing user actions which simplifies complex computer application maneuvers.
Still an object of the present invention is to provide a method for recording and playing user actions which is hardware independent.
It is still an object of the present invention to provide a method for recording and playing user actions which mimics user actions.
And another object of the present invention is to provide a method for recording and playing user actions which can operate outside a given application.
In satisfaction of these and related objectives, Applicant""s present invention provides for a mouse and keyboard recording and/or reproducing apparatus which is capable of recording both mouse movements/actions and keyboard keystrokes and playing back those recorded actions. The present invention also provides for the methodology for recording and playing back as well.